package cn.gyn.gynrpc.core.api;

import cn.gyn.gynrpc.core.meta.InstanceMeta;

import java.util.List;

/**
 * 路由器：给机房A打标签A，机房B打标签B，先选择其中一个机房
 * router 实现从一个集合里选出一个更小的集合，之所以不直接把这部分做在LoadBalance里，是为了区分职能，让lb的职能更简单单一
 */
public interface Router<T> {
    List<T> route(List<T> providers);

    Router Default = p -> p;

}
